-
-
Notifications
You must be signed in to change notification settings - Fork 14.2k
fix ICE in release builds from aggressive inlining #150292
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
fix ICE in release builds from aggressive inlining #150292
Conversation
|
r? @davidtwco rustbot has assigned @davidtwco. Use |
|
Can you please add a regression test for this |
This comment has been minimized.
This comment has been minimized.
9df93f6 to
46a2d99
Compare
Right now, tests don't create real ICEs as it's being complex to write such test. But I have wrote two test files who documents the issue. |
|
Ah, there is no MCVE... Honestly, I'm not sure if just removing |
|
This is the wrong way to approach this. MIR inlining is an optimization, so it's optional. Those debug-assertions ensure that we can reason about what codegen does, which helps soundness, so it's mandatory. Could you investigate disabling instances of MIR inlining that would trigger this bug? |
With complex type projections like
It will return When local is backend-ref (too big), we must use Memory. Earlier it assumed this never happens after field projection, but it can with multi-variant enums, so here second ice occurs. |
fixes #150263
Fixes two related ICEs (SignatureMismatch in trait selection and error at backend-ref layouts after projection) that occur in release builds with strict MIR inlining.